package com.itheima.service.impl;

import com.itheima.domain.User;
import com.itheima.mapper.UserMapper;
import com.itheima.service.UserService;
import com.itheima.util.MapperUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserServiceImp implements UserService {


    @Override
    public List<User> findAll() {
        //用mybatis与数据库连接
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        //调用持久层方法
        List<User> list=mapper.findAll();
        MapperUtil.close(session);
        return list;
    }

    @Override
    public void deleteByIds(String ids) {
        //用mybatis与数据库连接
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        int[] idInt=null;
        if(ids!=null&&ids.length()>0){
            String[] idArray = ids.split(",");
            idInt = new int[idArray.length];
            for (int i=0;i<idArray.length;i++) {
                idInt[i]=Integer.parseInt(idArray[i]);
            }
        }
        //调用持久层方法
        mapper.deleteByIds(idInt);
        MapperUtil.close(session);
    }
    @Override
    public void save(User user) {
        //用mybatis与数据库连接
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);

        mapper.save(user);
        MapperUtil.close(session);
    }

    @Override
    public User findById(String userId) {
        //用mybatis与数据库连接
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        int id = Integer.parseInt(userId);
        User user = mapper.findById(id);
        MapperUtil.close(session);
        return user;
    }

    @Override
    public void update(User user) {
        //用mybatis与数据库连接
        SqlSession session = MapperUtil.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
        mapper.update(user);
        MapperUtil.close(session);
    }
}
